package com.hoshiibuy.cms.common.dataobject;

import java.util.List;

import com.hoshiibuy.cms.common.enums.BooleanEnum;
import com.hoshiibuy.cms.common.enums.CategoryShowTypeEnum;
import com.hoshiibuy.cms.common.enums.CategoryTypeEnum;
import com.hoshiibuy.cms.common.enums.StatusEnum;

import lombok.Data;

@Data
public class CategoryDO {

    private Long id;

    /**
     * 父级栏目
     */
    private long pid;

    /**
     * 栏目标题
     */
    private String title;

    /**
     * 栏目外链（如果是外部URL）
     */
    private String url;

    /**
     * 目标
     */
    private String target;

    /**
     * 排序
     */
    private int orders;

    /**
     * 封面图
     */
    private String frontCover;

    /**
     * 子栏目
     */
    private List<CategoryDO> children;

    /**
     * 关键字，用于SEO
     */
    private String keywords;

    /**
     * 描述，摘要，用于SEO和列表摘要
     */
    private String description;

    /**
     * 文章分类
     */
    private CategoryTypeEnum type;

    private CategoryShowTypeEnum showType;

    /**
     * 是否展示在导航条上
     */
    private BooleanEnum inMenu;

    /**
     * 状态，枚举,默认发布状态
     */
    private StatusEnum status = StatusEnum.PUBLISH;

    /**
     * 模版
     */
    private TemplateDO template;

    /**
     * 栏目标签，只用于标签虚拟栏目
     */
    private List<TagDO> tags;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public long getPid() {
		return pid;
	}

	public void setPid(long pid) {
		this.pid = pid;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getTarget() {
		return target;
	}

	public void setTarget(String target) {
		this.target = target;
	}

	public int getOrders() {
		return orders;
	}

	public void setOrders(int orders) {
		this.orders = orders;
	}

	public String getFrontCover() {
		return frontCover;
	}

	public void setFrontCover(String frontCover) {
		this.frontCover = frontCover;
	}

	public List<CategoryDO> getChildren() {
		return children;
	}

	public void setChildren(List<CategoryDO> children) {
		this.children = children;
	}

	public String getKeywords() {
		return keywords;
	}

	public void setKeywords(String keywords) {
		this.keywords = keywords;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public CategoryTypeEnum getType() {
		return type;
	}

	public void setType(CategoryTypeEnum type) {
		this.type = type;
	}

	public CategoryShowTypeEnum getShowType() {
		return showType;
	}

	public void setShowType(CategoryShowTypeEnum showType) {
		this.showType = showType;
	}

	public BooleanEnum getInMenu() {
		return inMenu;
	}

	public void setInMenu(BooleanEnum inMenu) {
		this.inMenu = inMenu;
	}

	public StatusEnum getStatus() {
		return status;
	}

	public void setStatus(StatusEnum status) {
		this.status = status;
	}

	public TemplateDO getTemplate() {
		return template;
	}

	public void setTemplate(TemplateDO template) {
		this.template = template;
	}

	public List<TagDO> getTags() {
		return tags;
	}

	public void setTags(List<TagDO> tags) {
		this.tags = tags;
	}
    
    

}
